home *** CD-ROM | disk | FTP | other *** search
- DOCSMASH -- By David W. Rettger
- ===============================
-
- DOCSMASH may be copied and passed to other users as long as this
- document file accompanies the executable program file and both are
- left intact. No party other than the author may change the
- contents of these files, or charge any fee for distribution (other
- than a nominal sum to cover the cost of a floppy disk and mailing
- fees).
-
- If you have benefitted from the use of DOCSMASH, please contribute
- towards the costs of creating and updating this program by sending
- $5.00 to:
-
- David Rettger
- Box 807, CBOT Annex
- 141 W. Jackson Blvd.
- Chicago, Il. 60604
-
- ==================================================================
-
- DOCSMASH.EXE -- Version 2.93
-
- Have you ever downloaded a complicated program that came with its
- own manual and, when you printed the manual, you ended up using
- what seems like your whole box of paper to get hard copy? If you
- have this problem, then DOCSMASH is for you! It will print a
- normal 100 page document on a maximum 25 sheets of paper. You do
- not lose any text, but you may need glasses to read it. Anyway,
- it is good at what it does.
-
- The DOCSMASH program is designed to reduce the size of the printed
- output of any text or document file. It uses EPSON control codes
- to reduce the print size and adjust line width to enable the
- printer to place four pages of normal documentation on a single
- sheet of paper. (Each of these 4 pages equals one DOCSMASH page
- for purposes of describing things below.) New with this version is the
- ability to use other than Epson printers. See the instructions below for
- this feature.
-
- Obviously, a dot matrix printer is required.
-
- A few users have tried to DOCSMASH documents created by a word
- processor. Word processors usually insert "soft" codes into their
- files for tabs, pagination, etc. These codes do a great job of
- confusing DOCSMASH. Only smash files which are pure ASCII
- text! If you want to smash a file from, say, WordPerfect you
- should first resave the file as ASCII text.
-
- The program's operation is pretty straight forward. Run the
- DOCSMASH.EXE program by typing the program name at the DOS prompt.
- Just follow the menus and prompts throughout the program and you
- should not have too many problems. At any time, hit F10 (and
- perhaps <RETURN>) to terminate DOCSMASH. Some machines
- refuse to quit when this command is issued. If all else fails,
- when asked to enter the name of a document to print, you may now type
- the word END to quit the program.
-
- As time has passed, I have received comments from users with various
- different types of "Epson Compatible" printers. It seems that
- the width, line height, etc. settings which seem optimal on my printer
- don't function quite right on theirs. This situation has prompted
- me to add yet another feature to DOCSMASH. Now you are asked to
- enter the phrase "RESET PARAMS" to set the printer parameters. You
- can adjust the print width, number of lines per DOCSMASH page, the
- line feed width, and the paper length (in inches). Defaults are:
-
- Print Width = 164
- Page Length = 58
- Line Feed = 17
- Paper Len. = 11
- Left Margin = 0
-
- (Note: If you hit <RETURN> alone when DOCSMASH asks for a document to
- print, the program will now assume that you entered RESET PARAMS and
- take you to the parameter reset menu.)
-
- On my wide carriage printer, I use a setting of 164 for the printer
- width. That allows for two sets of columns of 80 characters and the
- four spaces between the columns. I have been told that a certain
- IBM narrow carriage printer runs best on about a 130 setting. This 130
- setting will allow 63 characters per print column which should work
- most the time. Words that do not fit should wrap to the next line.
- You should try to go as wide as possible, to maximize the squashing that
- the program is trying to do. Wrapping to the next line will take up more
- space vertically. (Here's a hint on setting the width if you have to.
- Just leave the default setting, run a full page and wait until the
- program prints dashes between the DOCSMASH pages. If those dashes
- wrap to a second line, count how many wrap and subtract that amount
- from the default setting.)
-
- I included page length and line-feed height adjustments due to complaints
- from users with 24 pin printers. These printers do not seem to function
- the same as 9 pin printers when emulating Epson commands. They tend to
- run over to the next page with my default settings. If the defaults
- wrap to the next page on your printer, try adjusting line height, # of
- lines to print, etc.
-
- Very recently I received a copy of a document printed by DOCSMASH on an
- Epson FX-80 or some such Epson printer. I was amazed at just how large
- the print was. My Brother M1509 prints much smaller than that Epson.
- Anyway, that narrow carriage printer could handle only a width of 94
- characters. Mine runs great on 164 characters. Obviously, the amount
- of print compression you achieve will depend on the hardware you are
- using. (Note: I believe this problem occurred because the elite print
- instruction sent by DOCSMASH had cancelled the compressed print
- instruction on this printer. Now you can solve this problem. See
- below.)
-
-
- Another minor change has been made to this latest version of DOCSMASH.
- One potential user requested that he be able to set the left margin so
- he need not readjust the paper in his printer (already set to work with
- the margins used by WordPerfect). Now the RESET PARAMS menu includes the
- left margin adjustment. The preset default is Left Margin = 0. On a
- narrow carriage printer, setting much of a left margin will eat into the
- total amount of print compression you can achieve.
-
- DOCSMASH will create a file called DOCSMASH.CFG in the root directory of
- whatever the current drive is. This file will contain any parameters
- you choose to enter, or the defaults. Deleting this file will cause
- DOCSMASH to recreate the file with defaults and to prompt you again
- that you can type RESET PARAMS to make changes. (Old versions left
- the .CFG file in whatever subdirectory you happened to be in. That
- will no longer happen.)
-
- In the event that a printer problem occurs during a long print job
- (out of paper, your child pulls out the plug, etc.), you may now
- begin printing in the middle of a file. Follow the prompts to the
- point where it says to enter a phrase and it will search for that
- phrase. I have in mind documents that have a page number on each
- page. If you got to Page 35 and then ran out of paper, having it
- search to the phrase PAGE 35 would cause it to begin printing on
- the line FOLLOWING the one with the specified phrase.
-
- The major change in Version 2.9 concerns printers which are not Epson
- compatible. You should now be able to use them. You will have to
- get the printer control codes from your manual and create a new
- printer control file. Here's how to do it:
-
- When prompted to enter a document title, type RESET PRINTER instead.
- The screen will show the various controls used to achieve the default
- squashing, the printable portions of the codes and the ASCii codes
- of each component of the strings. On the right side of the screen is
- a column for entering new codes. Move the highlighted bar with the
- up/down cursor control keys to the code you wish to change. Now you type
- the new code. For instance, the Epson code to reset the printer is as
- follows:
-
- Esc @
-
- To type this code, hit the Escape key and then the @ key (shift 2). Hit
- <Return> to enter the code, or up/down to next item. To delete an item
- entirely, simply type either the word NULL or the word NONE. Any string
- of code entered may be up to 7 characters long.
-
- Here's an example of a slightly different entry. The Epson code for
- changing the line feed height to 17/216th's of an inch is as follows:
-
- Esc 3 n
-
- In this case, you replace n with 17 (17 / 216th's). Now, you can not
- just type the number 17. If you do, you are actually typing two single
- digits with the ASCii codes 31 and 37, respectively. You need to type
- a single code which will have an ASCii value of 17. Sound hard? Its
- really quite easy. Hold down the ALT key and, using the numeric keypad,
- hit the <1> and the <7>. When you then release the ALT key, you will see
- a symbol that looks like a left pointing arrow. This is the printable
- symbol for ASCii 17. Any of the codes can be entered this way. <Esc>
- is ASCii number 27. Hold the ALT key and hit 2 and 7. When you release
- ALT, you will see the same symbol as if you had hit the <Esc> key itself.
-
- (Note: In the event you have to enter the character corresponding to
- ASCii code zero (NULL or chr$(0)) my method of entering these codes will
- not recognize the ALT-0 combination. Therefore I chose what looked like
- an obscure combination as a substitute. If you need to enter the Null
- character, enter instead ALT-255. My program will see this and say "Oh
- you really wanted NULL". Nothing will seem to print on the line becuase
- NULL is, obviously, unprintable. However, when you <ENTER> the line you
- will see the 0 pop up under the ASCii listing of the printer code.)
-
- Some printers (even some Epsons) can not mix elite and condensed print.
- One cancels the other. In this case, just type NULL for the elite code.
- Just type in or delete codes as needed. If your printer can make use of
- additional codes, I left space for two additional strings. If you want
- to replace the string labeled "condensed" with some entirely different
- code, feel free. Just remember, garbage in, garbage out! (The only
- string that must be in the same place as shown on my menu is the Printer
- Reset code. Be sure that you have that one entered properly, as the
- first entry on the menu.)
-
- To exit this menu, hit < F10 >. You will be asked if you want to save
- these new codes. Answer yes or no. If no, the codes you entered will
- be used for the current session only. If yes, a file called DOCSMASH.PRN
- will be created on the root directory of the current drive. It will
- contain these codes for future sessions.
-
- If you are using special codes, the some of the entries under the
- RESET PARAMS menu will NOT BE FUNCTIONAL. You still have to set the
- print width and page length there, but nothing else on that menu will
- work. The special codes supercede any entries there.
-
- Other changes from the earliest versions are:
-
- -Screen color control. If you do not like my choice of colors,
- or if you have a monochrome monitor, you can change the appearance
- of the screen output. Hit your F1 key (and RETURN if needed) to
- get the color option menu. For color monitors, I like the
- 15 (foreground), 1 (background) combination. Mono monitor users
- should use a background setting of 0.
-
- -No more truncating lines of text that are too wide to print.
-
- -Progress reports during printing. If you have an exceptionally
- long document, you can see how far you have gone and how far you
- have to go. The "Lines sent to the printer" number reflects the
- number of lines sent to the print buffer, not the number of lines
- actually printed at that point. A large print buffer will cause
- this number to be significantly ahead of the actual lines printed
- on paper.
-
- -The program may be terminated by hitting <F10>. If hitting <F10> does
- not terminate the program immediately, hit <RETURN> once. Or, instead
- of typing the name of a document to print, type the word END .
- =================================================================
-
- DOCSMASH was written using Borland's TURBO BASIC. Their product
- provides a complete programming environment that makes compiled
- basic a pleasure to use. If you are on the market for a basic
- compiler, I'd highly recommend TURBO BASIC!
-
- =================================================================
- All of the above changes have come about as the result of comments
- left for me by users. If you would like to see something changed
- or added, or if you just want to make a comment about the program,
- you may leave a message for David Rettger on the ORCHARD HILL BBS
- phone number (312) 974-0282. (Orchard Hill has DOCSMASH available
- to non-registered users. Call here for latest versions. Also, if
- you are interested in an active BBS with a service oriented SYSOP,
- do consider this one!) On Compuserv, leave me a message at my number
- 71131,3253.